문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Secure Shell (문단 편집) === 비밀번호 없이 키로 접속하는 설정 방법 === 컴퓨터가 켜져 있고 절전모드가 아니어야 접속이 가능하므로 절전모드를 끄고, WOL를 미리 설정하자 Git bash을 설치 Window10 설정 → 앱 → 앱 및 기능 → 선택적 기능 관리 → OpenSSH 서버 설치, OpenSSH 클라이언트는 기본적으로 설치되어 있음, OpenSSH 서버는 접속을 허용할 컴에는 필수로 설치, 원격접속만 할 거라면 설치를 안해도 무방 Git bash를 열고 {{{ cd C:/ ssh-keygen -t rsa }}} 화면 출력 {{{ $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which you want to save the key (/home/unity/.ssh/id_rsa): }}} 이후에는 모두 넘긴다. 올바르게 입력했으면 다음과 같은 화면 출력이 나온다. 안나오면 다시해야 됨 {{{ $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which you want to save the key (/home/unity/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Passphrases do not match. Try again. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /c/Users/HJ/.ssh/id_rsa. Your public key has been saved in /c/Users/HJ/.ssh/id_rsa.pub. The key fingerprint is: SHA256:ou4e62FYd0vQAcwNqsLc94nCRJpyNSLV+c6cxmY09fk (내 컴퓨터 계정 이름)@DESKTOP-H26**** The key's randomart image is: +---[RSA 2048]----+ | .. +o+. | | . o.o.o. | | . ..+..... . | | o.=+ .+. o | | o=oo.BooS . | | .ooo.o%+.. E | | .o== o. | | o.+ | | +* | +----[SHA256]-----+ }}} 다음으로 {{{ $ cat id_rsa.pub >> ~/.ssh/authorized_keys| }}} 를 입력하고 엔터를 누른다. {{{ cd ~/.ssh ls -l id_rsa* cat id_rsa.pub }}} 입력하면 공개키가 나오는데 이 공개키를 서버(접속을 허용 할 컴퓨터)로 보내야 한다. 1.scp명령어 활용 클라이언트에서 {{{ scp $HOME/.ssh/id_rsa.pub (계정)@(받을 컴퓨터의 IP나 도메인):id_rsa.pub }}} 서버에서 {{{ cat id_rsa.pub >> authorized_keys }}} 를 입력하면 authorized_keys 파일이 생긴다. 2. 아까 나온 공개키를 복사해서 메일같은 걸로 보낸다. 서버에서 받은 키를 복사한 다음에 {{{ cat >> authorized_keys }}} 를 입력하고 엔터치면 밑에 줄로 가는데 그곳에 복사한 공개키를 붙여넣는다.(단축키 Shift+Ins) 그리고 엔터를 누르면 authorized_keys 파일이 생긴다. 접속하는 컴퓨터의 d_rsa.pub파일과 접속 받는 컴퓨터의 authorized_keys 파일의 내용이 같아야 비밀번호의 인증없이 연결이 가능하다 {{{ authorized_keys = id_rsa.pub }}} 그리고 이제 방화벽을 해제해야한다. 제어판 → Window Defender 방화벽 → 좌측 상단 고급설정 →인바운드&아웃바운드 규칙 인바운드는 내가 들어 갈때 아웃바운드는 남이 들어 올때를 의미한다. 새규칙을 누르고, 포트를 누른다. TCP누르고, 특정 원격포트 그리고 옆칸에 자신이 원하는 포트를 입력한다. 22번 포트를 추천한다. 다음 누르고, 연결허용 누르고. 다음누르면 이름을 설정하라고 하는데 아무이름을 지으면 된다. 추천은 22 TCP 같은 방법으로 인바운드도 작업한다.(인바운드는 모두 여는게 편하다.) 외부망 일경우 대상컴퓨터에서 네이버에 접속하여 "내 아이피"라고 검색하면 나오는 숫자 ex)123.123.123.123의 주소를 서버주소에 입력한다. 대상컴퓨터가 공유기를 사용하지 않을 경우에는 이대로 하면 되지만 공유기나 모뎀을 사용 하는 경우는 복잡해 진다. 모뎀을 사용한다면 모뎀제조업체 혹은 모뎀을 대여해 준 통신사에 전화해서 모뎀에 포트가 열려있는지 확인 하고 닫혀있으면 열어달라고 요청해야한다. 공유기에서는 포트포워딩이나 DMZ 또는 Twin-ip나 S-DMZ를 설정 해야 한다. 공유기의 내부 아이피를 입력하여 공유기 관리자 페이지에 접속하고 NAT설정에 들어가 포트포워딩이나 DMZ 또는 Twin-ip나 S-DMZ를 설정한다. 1. 포트포워딩은 공유기에 DHCP때문에 컴퓨터에 사설아이피가 수시로 바뀜으로 DHCP설정에 들어가 IP를 고정해야 한다. 그리고 여는 포트는 통신규칙 TCP 여는 포트는 아무거나 해도 되지만 22를 추천한다. 왜냐하면 다른 포트를 설정하면 접속할 때 ssh (접속할 대상의 컴퓨터에 로그인 된 계정이름)@(서버주소) -p (자신이 연 포트)로 입력해야 한다. 2. DMZ는 컴퓨터에 모든 포트를 여는 설정이다. 하지만 공유기에 DHCP때문에 컴퓨터에 사설아이피가 수시로 바뀜으로 DHCP설정에 들어가 IP를 고정해야 한다. 3. Twin-ip는 쉽게 생각하면 컴퓨터에 렌선을 바로 꽂아 사용하는 것과 비슷하다고 할 수 있다. 다만 S-DMZ와 다르게 사설아이피와 공인아이피로 아이피가 나뉘에 져 있기 때문에 내부에서 접속 할 때는 사설아이피로 접속 해야 한다. 이 때문에 모든 포트가 자동으로 열리며 DHCP설정을 할 필요가 없다. 4. S-DMZ는 Twin-ip와 비슷하지만 공인아이피와 사설아이피가 합쳐저 사용된다. 이 때문에 모든 포트가 자동으로 열리며 DHCP설정을 할 필요가 없다. 따라서 서버열기에는 가장 좋다고 할 수 있다. 그리고 이론적으로 상대방의 아이피만 알면 그 컴퓨터를 해킹 할 수 있기 때문에 애당초 고정IP를 쓰는 게 아니라면 되도록 도메인을 사용하여 자신의 IP를 숨기고, 공인 아이피가 보통 바뀌지는 않는다고 하지만 가끔식 바뀌는 경우가 있음으로 no-ip 등의 무료DDNS서비스를 이용하자. 이제 ssh설정은 끝났고 접속은 ssh (접속할 대상의 컴퓨터에 로그인 된 계정이름)@(서버주소) 이때 서버주소는 접속할 대상이 되는 컴퓨터의 IP주소나 도메인이다. 만약 같은 공유기를 사용하는 내부망이면 서버컴퓨터에서 Window키 + R를 누르고 cmd를 입력하여 나오는 도스창에 ipconfig를 입력하여 나오는 IPv4주소를 입력하면 된다. 도스창에 {{{ Microsoft Windows [Version 10.0.17134.285] (c) 2018 Microsoft Corporation. All rights reserved. (자신의 컴퓨터 계정 이름)@DESKTOP-H26**** C:\Users\(자신의 컴퓨터 계정 이름)> }}} 이렇게 출력하면 성공 한 것이다. 이렇게 SSH접속을 하면 도스창 화면이 한 번 초기화되어 검은 도스창만이 반길 것이다. 이게 제대로 연결된 것 이다. 도스창은 절대 닫으면 안된다. 닫아 버렸다면 다시 ssh (접속할 대상의 컴퓨터에 로그인 된 계정이름)@(서버주소) 입력하자 연결된 도스창은 서버컴의 도스창으로 이를 이용 해서 컴퓨터를 제어 할 수있고 자신이 도스를 잘 다루지 못한다면 VNC를 이용하자. 프로그램을 깔고 접속할 대상의 ip또는 도매인을 입력하고 암호를 입력하면 된다. 클라이언트에서 접속할 경우 [[Microsoft Windows|윈도우]]라면 PuTTY를 일반적으로 사용하고, 상황이 좀 나은 곳이라면 유료 소프트웨어인 [[Xshell]]을 쓰기도 한다. [[macOS]]나 [[GNOME]]이나 [[KDE]]가 설치된 [[Linux|리눅스]]는 기본으로 설치되어 있는 [[CLI|터미널]]에서 ssh 명령어로 접속하면 된다. 보통 ssh (사용자 이름)@(서버 도메인 주소 or IP 주소)의 형태로 입력하면 된다.[* [[Git]]에서도 이 형식의 SSH를 지원한다. 주로 clone과 push에서 사용한다. [[GitHub]] 같은 대규모 Git 저장소에서는 SSH 키를 등록하고 사용하면 된다.]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기